![]() | EXPRESIONES ENLAZADAS |
x e y, están simplemente enlazadas desde x hacia y cuando:
y (total o parcialmente) es función de x (también total o parcialmente).
x, automáticamente cambia y.
x e y relacionadas y/o aparecer directamente (localmente) en la expresión destino, y.
x hacia y. La relación se define mediante una expresión genérica independiente.
〈( (y\2)° = (x\1 + x\2) )〉
y es siempre la suma de los dos primeros componentes de x)
〈( (y\4 = (x\3 + x\4) )〉
y es siempre la suma de los componentes 3 y 4 de x)
(y = (a b c d e))
(x = (1 2 3 4))
y // ev. (a 3 c 7 e)
(x = (2 3 4 5))
x)
y // ev. (a 5 c 9 e)
y cambia automáticamente)
x hacia y. La relación se especifica en la expresión de destino.
(y = (1 2 3))
(x = (a 〈y\2〉 b)) // ev. x=(a 2 b)
(y = (4 5 6))
y)
x // ev. (a 5 b)
x cambia automáticamente)
u.
(u = (a b c d))
〈( (x# > 1) → (x\1 = u\1) )〉 // relación genérica
(v = (7 2 3 4)) // ev. (v = (a 2 3 4))
(w = (8 5 6 9)) // ev. (w = (a 5 6 9))
(u = (d c b a)) // se redefine u
v // ev. (d 2 3 4)
w // ev. (d 5 6 9)
n1 y n2
〈( (minimo(n1 n2) = (n1 ← n1≤n2) →' n2) )〉
(u = (3 7 〈 minimo(u\1 u\2) 〉)) // ev. (u = (3 7 3))
(u\1 = 9) // cambiamos el primer elemento
u // ev. (9 7 7)
x e y, son expresiones enlazadas mutuamente. Es decir, existen relaciones de dependencia desde x hacia y, y viceversa. Por lo tanto, el contenido de una expresión es función de la otra y viceversa, y cualquier cambio en una de ellas afecta de forma inmediata a la otra. El entrelazamiento puede ser parcial o total, según la amplitud de las expresiones afectadas.
x e y.
(x = (1 2 3 4))
(y = (a b c d))
〈( x\1 = (y\1 + y\2) )〉
y hacia x)
〈( y\3 = (x\2 + x3) )〉
x hacia y)
x // ev. (a+b 2 3 4)
y // ev. (a b 5 d)
x:
〈( x\3 = (x\1 + x\2) )〉
x es siempre la suma de los dos primeros)
(x = (10 11 12 13)) // ev. (x = (10 11 21 13))
(x\2 = 0) // cambiamos el segundo elemento
x // ev. (10 0 10 13)
〈( (x# > 2) → (x\3 = (x\1 + x\2)) )〉
(u = (10 11 12 13)) // ev. (u = (10 11 21 13))
(v = (a b c)) // ev. (v = (a b a+b))
(v = ( abc )) // ev. (v = ( abc ) (la secuencia es de longitud 1)
〈( x\1 = (u\1 + v\1) )〉
〈( x\2 = (u\2 + v\2) )〉
〈( y\1 = x\2 )〉
〈( y\2 = x\1 )〉
(u = (1 2 3 4))
(v = (11 12 13 14))
x // ev. (12 14)
y // ev. (14 12)
〈( v\1 = u\1 )〉
〈( u\2 = (v\1 + 1) )〉
〈( v\2 = (u\2)2 )〉
〈( u\3 = (v\2 + 1) )〉
〈( v\3 = (u\3)*2 )〉
〈( u\4 = (v\3 + 1) )〉
〈( v\4 = (u\4)*2 )〉
(u = 1)
u // ev. (1 2 5 11)
v // ev. (1 4 10 22)
( fibo = (1 1) ) // secuencia de Fibonacci inicial
〈 ((fibo\i) =: (fibo\(i−1) + fibo\(i−2)))←(i>2) 〉
n):
( fibo = (1 1) ) // secuencia de Fibonacci inicial
(n = 8) // 8 elementos
〈 ((fibo\i) = (fibo\(i−1) + fibo\(i−2))) ← (i>2 ∧ i≤n) 〉
fibo // ev. (1 1 2 3 5 8 13 21)